/*********************************************************
 * G2search搜索引擎是初学之家（http://www.g2room.com）开发的一款基于Lucene的搜索引擎，
 * 对数据库及文本文件进行创建索引和搜索。
 * G2Search使用灵活的配置方式，能满足大多数搜索的需要，并提供友好的操作界面。
 * 
 * 初学之家(http://www.g2room.com)，提供Java、Javascript（js）、Jquery、
 * 等一些工具或常用功能的实现例子代码，希望能给初学者提供学习和工作上的帮助，
 * 也希望有想提供源代码的朋友能联系我，一起努力，提供更多、更全面、更详细的
 * 一些初学代码例子及经验，帮助更多的人。
 * 
 * 我的联系方式：E-Mail：g2room@163.com
 * 网址：http://www.g2room.com
 * QQ：天涯（1173930590）
 * QQ交流群：323642758
 * 
 * 本站内容为提供各种java、javascript(JS)常用的工具源代码、实例（示例）、
 * 基本配置、教程、手册等；目前Java代码提供的工具（或转换）例子代码如下：
 * BASE64转换工具、bytes相关操作、email收发、文件操作（读写、拷贝、遍历、
 * 多线程copy等）、json格式转换、日志（Log4j）操作工具、Lucene搜索引擎的
 * 创建索引和搜索、各种不同Map的使用、定时器（Quartz）的使用例子、Socket的
 * 连接传输数据例子、WebService的例子及一些常用的工具类如String、Date及
 * JDK自带的一些工具类及函数的使用例子。
 * 
 * 说明：如需直接使用本站的例子代码，请保留此说明
 * 
 ********************************************************/
package com.g2room.tools.db.db2po;

import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;


/**
 * 配置文件操作工具类。
 *
 * @createTime: Jul 4, 2013 9:45:21 PM
 * @author: <a href="mailto:g2room@163.com">天涯</a>
 * @version: 0.1
 * @lastVersion: 0.1
 * @updateTime: 
 * @updateAuthor: <a href="mailto:g2room@163.com">天涯</a>
 * @changesSum: 
 * 
 */
public class PropertiesUtil {
	/**
	 * 
	 * 根据key取得指定路径配置文件的值
	 * 
	 * @param fileName 在配置文件名
	 * @param key 在配置文件中的key值
	 * @return 如果读取出现异常则返回null，如果key值不存在则返回“”，存在则返回取得的值
	 * 
	 * @auther <a href="mailto:g2room@163.com">天涯</a>
	 * Jul 6, 2013 5:03:50 PM
	 */
	public static String getValueByKey(String fileName, String key) {
		String value = null;
		InputStream inputFile = null;
		try {
			Properties p = new Properties();
			// 得到配置文件路径并得到输出流
			inputFile = new BufferedInputStream(new FileInputStream(fileName));
			// 加载配置文件
			p.load(inputFile);
			if (p.containsKey(key)) {
				// 根据key得到value
				value = p.getProperty(key);
			} else {
				value = "";
			}
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		} finally {
			if(null != inputFile) {
				try {
					inputFile.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
		}
		return value;
	}

	/**
	 * 根据key取得数据库配置文件的值
	 * 
	 * @param {String} key 在配置文件中的key值
	 * @return {String} 如果key值不存在则返回“”，存在则返回取得的值
	 * @auther <a href="mailto:gaoxuguo@feinno.com">Gao XuGuo</a>
	 * 2012-12-11 上午09:23:47
	 */
	public static String getDBConfByKey(String key) {
		return getValueByKey(DbConstant.PROP_PATH_DB, key);
	}
}
